import ruleOpt from '@/biz/option/rule.js'
import incentiveMgr from '@/biz/bonus/incentive'
import Opt from '@/components/dt/info/Opt.js'
class NewOpt extends Opt {
  constructor(info) {
    super(info)
    this.build()
  }

  build() {
    this.createAll()
    this.opts.push(...this.part1)
  }

  build() {
    this.createAll()
    this.opts.push(...this.part1)
  }
  getWorkNo(info) {
    let opt = {
      change: () => {
        info.workNo = null
        this.update()
      }
    }
    if (info.workNo) {
      opt.options = [{
        key: info.workNo,
        value: info.uername
      }]
    }
    return incentiveMgr.createPeople(opt)
  }

  createAll() {
    this.month = {
      key: 'absentWork',
      title: '发放月缺勤天数',
      placeholder: '请输入缺勤天数',
      minWidth: 220,
      input: {
        type: 'number',
        min: 0,
        precision: 2
      },
      rules: [
        ruleOpt.required('请输入缺勤天数', "number"),
      ]
    }

    this.part1 = [
      this.getWorkNo(this.info),
      {
        key: 'standardMoney',
        title: '标准金额',
        placeholder: '请输入标准金额',
        input: {
          type: 'number',
        },
        rules: [
          ruleOpt.required('请输入标准金额', "number"),
        ]
      },

      {
        key: 'issuanceRatio',
        title: '发放比例',
        placeholder: '请输入发放比例',
        input: {
          type: 'number',
          min: 0,
          max: 100
        },

        rules: [
          ruleOpt.required('输入发放比例', "number"),
        ]
      },
      {
        key: 'isReissue',
        title: '是否补发',
        placeholder: '请选择',
        minWidth: 220,
        select: {
          options: [{
            key: '0',
            value: '否'
          }, {
            key: '1',
            value: '是'
          }]
        },

        rules: [
          ruleOpt.required('请选择是否补发')
        ],
        change: () => {
          if (this.info.isReissue == '1') {
            // this.opts.push(this.special)
            this.opts.splice(-1, 0, this.special)
          } else {
            this.opts.remove(this.special)
            // this.opts.remove(this.reason)
          }
        }
      },
      this.month
    ]
    this.special = {
      key: 'reissueMonth',
      title: '补发月份',
      placeholder: '请选择补发月份',
      date: {
        type: 'month'
      },
      // rules: [{
      //   required: true,
      //   message: '请选择补发月份',
      //   trigger: 'blur'
      // }]
    }
  }
}

export default NewOpt












// let _this = null

// function getWorkNo(info) {
//   let opt = {
//     change: () => {
//       info.workNo = null
//       _this.update()
//     }
//   }
//   if (info.workNo) {
//     opt.options = [{
//       key: info.workNo,
//       value: info.uername
//     }]
//   }
//   return incentiveMgr.createPeople(opt)
// }

// function add(type) {

//   let arr1 = {
//     key: 'reissueMonth',
//     title: '补发月份',
//     placeholder: '请选择补发月份',
//     date: {
//       type: 'month'
//     },
//     // rules: [{
//     //   required: true,
//     //   message: '请选择补发月份',
//     //   trigger: 'blur'
//     // }]
//   }
//   let arr = [{
//     key: 'isReissue',
//     title: '是否补发',
//     placeholder: '请选择',
//     minWidth: 220,
//     select: {
//       options: [{
//         key: '0',
//         value: '否'
//       }, {
//         key: '1',
//         value: '是'
//       }]
//     },
//     change: (data) => {
//       if (data.info.isReissue == '1') {
//         console.log('添加');
//         arr.push(arr1)
//         console.log(arr, 'arr');
//       }
//     },
//     rules: [{
//       required: true,
//       message: '请选择是否补发',
//       trigger: 'blur'
//     }]
//   }]
//   return arr
// }



// function options(vm) {
//   _this = vm
//   let p1 = add()

//   let aa = [getWorkNo(_this.info), {
//       key: 'standardMoney',
//       title: '标准金额',
//       placeholder: '请输入标准金额',
//       input: {
//         type: 'number',
//       },
//       rules: [
//         ruleOpt.required('请输入标准金额', "number"),
//       ]
//     },

//     {
//       key: 'issuanceRatio',
//       title: '发放比例',
//       placeholder: '请输入发放比例',
//       input: {
//         type: 'number',
//         min: 0,
//         max: 100
//       },

//       rules: [
//         ruleOpt.required('输入发放比例', "number"),
//       ]
//     },

//     {
//       key: 'absentWork',
//       title: '发放月缺勤天数',
//       placeholder: '请输入缺勤天数',
//       minWidth: 220,
//       input: {
//         type: 'number',
//         min: 0
//       },
//       rules: [
//         ruleOpt.required('请输入缺勤天数', "number"),
//       ]
//     }
//   ]

//   aa.push(...p1)
//   return aa

// }

// export default {
//   options
// }